The present invention relates to a print data output circuit for outputting bitmap data to a printer.
Conventionally, in a line printer or a page printer, in order to print data including alphanumerical character pattern data, a print data output circuit is employed for developing bitmap data in accordance with the character code data generated by, for example, a computer. In a laser beam printer, for example, an optical scanning system is driven in accordance with the bitmap data so that the scanning laser beam is ON/OFF modulated to form a latent image on a photoconductive surface.
Specifically, in such a print data output circuit, when character code data is received from a computer or the like, the print data output circuit reads out bitmap data corresponding to the received character code data, and develop the bitmapped image in a page memory.
After the bitmapped image for one page is developed in the page memory, the data (i.e., the bitmap data) of the bitmapped image is read line by line, and then transmitted as serial data to a printer. The printer receives the serial data, and modulates a scanning laser beam in accordance with the serial data to form an image corresponding to the bitmap data.
As described above, in the conventional print data output circuit, in order to store the bitmap data corresponding to one page, at least one page memory is required. If the number of characters to be printed on a page is relatively great, or if the number of bits for each character is great, the page memory is also required to have a large capacity. Therefore, the print data output circuit tends to be large in size, and expensive. Further, in the conventional print data output circuit, before printing operation is executed, the bitmapped image for an entire page is developed. Therefore, it takes time from input of print data (character codes) to start of the printing operation.
The above-described problem also arises when a printer is tested using predetermined test data. That is, even when a predetermined character string is to be printed repeatedly, bitmapped data corresponding to one page should be developed on the page memory. Therefore, a testing device is also required to have a page memory having a large capacity, and the testing device also tends to) be large in size, and the test takes a relatively long period.
It is therefore an object of the invention to provide an improved print data output circuit which enables printing character images without using a page memory.
For the above object, according to the present invention, there is provided a print data output circuit for outputting bitmap data for printing based on character codes, provided with:
a data memory for storing character codes to be printed;
a bitmap data memory for storing bitmap data corresponding to the character codes stored in the data memory;
a clock generator that generates a predetermined clock signal;
a counter unit that generates first address data of the data memory, a character code stored at the first address of the data memory being read out of the data memory, second address data of the bitmap data memory being generated in accordance with the clock signal and the character codes corresponding to the first address data, bit map data stored at the second address of the bitmap memory being output therefrom; and
a parallel-to-serial converter that converts bitmap data stored in the bitmap data memory and corresponding to the second address data to serial data for printing.
Optionally, the bitmap data corresponding to each of the character codes may include a plurality of dot rows, each of the plurality of dot rows including a plurality of dot columns, and the plurality of dot columns may be divided into a predetermined number of groups, each of the plurality of groups defining a block having the plurality of dot rows.
In particular case, the counter unit may include:
a D counter for counting the number of the groups for each character;
an N counter for counting the total number of groups in a row;
an L counter for counting the number of the bit rows of each character;
an M counter for counting the total number of rows of the characters,
wherein the first address of the data memory is generated in accordance with the counts of the N counter and M counter, and
wherein the second address of the bitmap memory is generated in accordance with the counts of the N counter and L counter, and a character code read out of the data memory.
According to another aspect of the invention, there is provided a method of printing characters arranged in a matrix of a plurality of character rows by a plurality of character columns, each character has a bitmap consisting of a matrix of a plurality of dots by a plurality of bit rows, the method includes:
sequentially designating the rows of the character matrix and executing the following step for each designated character row;
sequentially designating the bit rows of a bitmap and executing the following step for each designated bit row; and
sequentially designating the columns of the character matrix and executing (a)-(c) for each designated character column:
(a) designating a bitmap corresponding to a character at currently designated row and column;
(b) obtaining bitmap data for currently designated bit row; and
(c) outputting the obtained bitmap data to the printer.